const colorPalette = [
  '#ffb980',  // 黄色
  '#5ab1ef',  // 浅蓝色
  '#a0a7e6',  // 紫色
  '#22c3aa',  // 蓝绿色
  '#59c4e6',  // 浅蓝色
  '#2ec7c9',  // 青色
  '#f2b3c9',  // 粉色
  '#b6a2de',  // 紫色
  '#ffd3b6',  // 橙色
  '#8cd5ff',  // 浅蓝色
  '#5cd0b3',  // 薄荷绿
  '#d3c6f0',  // 浅丁香紫
]

export const patchColor = (str: string): string => {
  if (!str) {
    return colorPalette[0]; // 如果字符串为空，返回第一个颜色
  }
  
  // 计算字符串的简单hash值
  let hash = 0;
  for (let i = 0; i < str.length; i++) {
    const char = str.charCodeAt(i);
    hash = (hash << 5) - hash + char;
    hash = hash & hash; // 转换为32位整数
  }
  
  // 确保hash值为正数，并根据颜色数组长度取模
  const index = Math.abs(hash) % colorPalette.length;
  
  return colorPalette[index];
}
